User fairness or service fairness associated with resource utilization within a network is a pervasive term in traffic management. Generally, network elements implement a policy of flow fairness on every traffic flow associated with a user, no matter where a particular flow originates. Under the policy of flow fairness, users with a large number of flows and users with fewer flows are treated the same, even during times of network congestion. This can be a problem, for example, in situations with bandwidth-hungry applications, such as peer-to-peer applications, where the users of these applications are allowed to consume a disproportionate amount of resources, more than their fair share of bandwidth, at the expense of other users on the network.
Several fairness models have been utilized as an attempt to address the problems of “resource-hungry” applications in wireline and mobile networks. These models, however, generally place the onus on a system operator to monitor usage patterns of all users in order to set some threshold for detecting users using disproportionate amounts. Further, the monitoring being done by the operator only looks to a limited, one-dimensional view of the user's usage patterns (e.g., byte count).
Therefore, it is desirable to implement a fairness model that accounts for the cost of a user's behavior on other users and provides a more refined method of evaluating and effecting service fairness.